import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False



data = np.loadtxt('./data/Cardata.csv', delimiter=',', skiprows=1)  # skiprows=1 跳过表头
x = data[:, 0].reshape(-1, 1)
y = data[:, 1]

# 建立线性回归模型
model = LinearRegression()
model.fit(x, y)

# 预测值（用于画回归线）
x_range = np.linspace(-1, x.max(), 100).reshape(-1, 1)

y_pred = model.predict(x_range)

# 可视化
plt.scatter(x, y, color='blue', label='原始数据点')
plt.plot(x_range, y_pred, color='red', label='回归线')
plt.xlabel('x')
plt.ylabel('y')
plt.title('线性回归示例')
# plt.legend()
plt.grid(True)
plt.show()
